package com.ruoyi.ade.model;

import com.ruoyi.ade.llm.model.AdeKnowledgeRetriveConfig;
import com.ruoyi.ade.llm.model.AdeRecognizeConfig;

/**
 * ADE 识别请求体
 */
public class AdeRecognitionRequest {

    /**
     * EMR 内容
     * 病程记录内容
     */
    private String emr;

    /**
     * 提示词 ID
     */
    private Long promptId;

    /**
     * llm 模型
     */
    private String llmModel;

    private boolean afterFilter = true;


    //RAG相关配置
    private float simScoreThreshold;  //搜索相似度阈值
    private int topN;           //topN
    private boolean debug = false;     //是否启用调试模式
    private String chunkType;  //chunk类型
    private Long adekbid;  //AD知识库ID     包含了嵌入模型信息

    public boolean isAfterFilter() {
        return afterFilter;
    }

    public void setAfterFilter(boolean afterFilter) {
        this.afterFilter = afterFilter;
    }

    public String getEmr() {
        return emr;
    }

    public void setEmr(String emr) {
        this.emr = emr;
    }

    public Long getPromptId() {
        return promptId;
    }

    public void setPromptId(Long promptId) {
        this.promptId = promptId;
    }

    public String getLlmModel() {
        return llmModel;
    }

    public void setLlmModel(String llmModel) {
        this.llmModel = llmModel;
    }

    public float getSimScoreThreshold() {
        return simScoreThreshold;
    }

    public void setSimScoreThreshold(float simScoreThreshold) {
        this.simScoreThreshold = simScoreThreshold;
    }

    public int getTopN() {
        return topN;
    }

    public void setTopN(int topN) {
        this.topN = topN;
    }

    public boolean isDebug() {
        return debug;
    }

    public void setDebug(boolean debug) {
        this.debug = debug;
    }

    public String getChunkType() {
        return chunkType;
    }

    public void setChunkType(String chunkType) {
        this.chunkType = chunkType;
    }

    public Long getAdekbid() {
        return adekbid;
    }

    public void setAdekbid(Long adekbid) {
        this.adekbid = adekbid;
    }
}
